#ifndef _EngineImage_h_
#define _EngineImage_h_

#include "BlazeEngineConfig.h"

#include "BlazeEngineCommon.h"
#include "BlazeEngineColor.h"
#include "BlazeEngineVector2.h"
#include "BlazeEngineResource.h"

class _BlazeExports BeImage : public BeResource
{
public:
	BeImage();
	~BeImage();

	void* Lock();
	void Unlock();

	void SetPixel(unsigned int uiX, unsigned int uiY, BeColor Color);

	unsigned int GetWidth();
	unsigned int GetHeight();
	BeColor GetPixel(unsigned int uiX, unsigned int uiY);
	ColorType GetFormat();

private:

	BeVector2 m_Size;
	ColorType m_Type;
	void* m_pvData;
	unsigned int m_uiPitch;
};


#endif
